package xyz.xtt.equity.api.enums;

/**
 * 权益枚举
 * @author dale
 * @date 2025/2/12
 **/
public enum BenefitEnum {
    DEFAULT("DEFAULT", "", 0, ""),
    NFT_VIP_TAG("NFT_VIP_TAG", "数藏藏VIP身份标识", 1, "天"),
    PRIORITY_BUY("PRIORITY_BUY", "优先购买权", 1, "天"),
    FREE_MINT("FREE_MINT", "免费铸造权", 0, "次"),
    AI_PIC_THEME("AI_PIC_THEME", "AI图片风格", 0, "次"),
    CHAT_MEMBERS_2000("CHAT_GROUP_2000", "群成员上限2000", 1, "天"),
    ;

    private String code;
    private String name;
    private int valueType; // 0 次数  1 天数  2 天数+次数
    private String unit; // 单位

    BenefitEnum(String code, String name, int valueType, String unit) {
        this.code = code;
        this.name = name;
        this.valueType = valueType; // 更新构造函数
        this.unit = unit; // 更新构造函数
    }

    public String getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public int getValueType() { // 新增 getter 方法
        return valueType;
    }

    public String getUnit() { // 新增 getter 方法
        return unit;
    }

    public static BenefitEnum getByCode(String code) {
        for (BenefitEnum value : BenefitEnum.values()) {
            if (value.code.equals(code)) {
                return value;
            }
        }
        return DEFAULT;
    }
}
